草庐IT

Swift 递归枚举

全部标签

c# - 如何在跳过某些值的同时遍历枚举类型?

我的问题的关键部分是跳过。我计划使用具有大约20个元素的枚举类型。我想遍历这个集合,但每次都需要跳过一两个元素。跳过什么是事先知道的。一个类似的例子是枚举类型,它由所有字母组成,在迭代时,我想跳过所有元音。我应该如何以优雅/高效的方式编写迭代代码?我应该单独制作一组由元音组成的元素吗?我没有代码可以展示,因为我只是在思考这个问题。 最佳答案 varquery=Enum.GetValues(typeof(MyEnum)).Cast().Except(newMyEnum[]{MyEnum.A,MyEnum.E});foreach(MyE

c# - 是否可以在 C# 中使用作为关键字的值定义枚举?

我有一些正在读取的客户端数据,我已经为其中一个值定义了一个枚举,所以我可以使用Enum.Parse(type,somestring)。问题是他们刚刚添加了一个新值:“public”。是否可以定义一个也是保留字的枚举值?即:publicenumMyEnum{SomeVal,SomeOtherVal,public,YouGetTheIdea}如果没有,我想我会改写一个解析方法。 最佳答案 您可以在变量名前加上一个@。这允许您使用关键字作为变量名-所以@public。参见here.来自C#spec:Theprefix"@"enablest

c# - 如何防止枚举中的重复值?

我想知道有没有办法阻止具有重复键的enum编译?例如下面的这个enum将编译publicenumEDuplicates{Unique,Duplicate=0,Keys=1,Compilation=1}虽然这段代码Console.WriteLine(EDuplicates.Unique);Console.WriteLine(EDuplicates.Duplicate);Console.WriteLine(EDuplicates.Keys);Console.WriteLine(EDuplicates.Compilation);将打印DuplicateDuplicateKeysKeys

c# - 将 xml 值映射到枚举类型

我需要将从第三方获取的XML文件解析为C#对象。我收到的一些XML具有枚举值,我想将其存储在枚举类型中。例如,我有如下xml文件的xsd:我想将它映射到一个枚举,我做到了这一点:publicenumFuel{B,D,L,E,H,C,O}我遇到的问题是xml可以包含3的值,我似乎无法将其放入枚举类型中。是否有任何解决方案可以将此值放入枚举中。我还可以获得其他带有-或/的值,我想将其放入枚举类型中。欢迎Anu建议! 最佳答案 用XmlEnum属性装饰:http://msdn.microsoft.com/en-us/library/sys

c# - 如何让 EF Core 数据库首先使用枚举?

我将EFCore与数据库优先方法结合使用,使用“Scaffold-DbContext”命令生成我的DbContext/实体。我如何指示Scaffold-DbContext某个表中的某个字段应该生成代码以使用Enum而不仅仅是int?这就是您过去在常规EF中的做法:https://www.devu.com/cs-asp/lesson-69-mapping-enum-types-entity-properties-framework-designer/例子此枚举已在代码中定义:publicenumStateEnum{Ok=1,Fail=2}这就是Scaffold-DbContext给我的东

c# - 为枚举元素分配多个值

嗨,我目前有这个枚举[Serializable]publicenumCountry{US=1,Canada=2,}当我通常从数据库中获取整数时,我会使用将其转换为枚举(Country)Convert.ToInt32("1")我现在在美国和加拿大有2个子区域,美国1和2,加拿大3和4。所以当我这样做的时候(Country)Convert.ToInt32("1")或(Country)Convert.ToInt32("2")我应该让枚举成为美国。以及3和4加拿大。我该如何实现?[Serializable]publicenumCountry{US=1,2Canada=3,4}是这样的。这可能不

c# - 将所有 child 放到一个列表中 - 递归 C#

C#|.NET4.5|EntityFramework5我在EntityFramework中有一个类,如下所示:publicclassLocation{publiclongID{get;set;}publiclongParentID{get;set;}publicListChildren{get;set;}}ID是位置的标识符,ParentID将其链接到父位置,而Children包含父位置的所有子位置。我正在寻找一种简单的方法,可能是递归的,将所有“位置”及其子项都放到一个包含Location.ID的列表中。我在递归地概念化这个问题时遇到了麻烦。感谢您的帮助。这是我目前所拥有的,它是对实

c# - 在 C# 中扩展枚举

在java中,我习惯于扩展枚举值或覆盖这样的方法:enumSomeEnum{option1("sv"){publicStringtoString(){return"Somevalue";}},option2;privateStringPassedValue;publicSomeEnum(Stringsomevalue){this.PassedValue=somevalue;}publicSomeEnum(){this.PassedValue="DefaultValue";}publicStringgetPassedValue(){returnthis.PassedValue;}}有没有

c# - 递归 LINQ 调用

我正在尝试构建一些具有父子关系但在同一个表中的数据的XML树。两个重要的领域是竞赛编号ParentCompetitionID一些数据可能是CompetitionID=1,ParentCompetitionID=nullCompetitionID=2,ParentCompetitionID=1CompetitionID=3,ParentCompetitionID=1我的损坏查询只是以平面格式显示结果。看到我正在使用XML,需要某种递归功能。我可以使用普通的for循环递归来做到这一点,但我想看看linq版本。任何帮助表示赞赏。varresults=fromc1incompsselectne

c# - 一种解析带有 'Flags' 的 .NET 枚举字符串或 int 值的方法

有一种使用以下方法计算枚举元素的好方法://memberTypeisenumtypeif(Enum.IsDefined(memberType,valueString)){returnEnum.Parse(memberType,valueString);}else{try{varunderlyingValue=Convert.ChangeType(valueString,Enum.GetUnderlyingType(memberType));if(Enum.IsDefined(memberType,underlyingValue)){returnunderlyingValue;}}cat